/**
 * 控制面板
 */
//监听窗口的改变
$(window).resize(function() {
	if ($(window).width() < screen.width * 0.8) {
		$(".content-one").css("width", "50%");
	} else {
		$(".content-one").css("width", "25%");
	}

});
$(function() {
	//用户连接
	connect();
	
	//清空过期数据
	autoClearHistory();
	//装载历史记录
	var jsonData=JSON.parse(localStorage.getItem('history'));
	if(jsonData && jsonData!=""){
		$(".history-record ul").html("");
		$(".history-record ul li").removeClass("currentPage");
		for(var i=0;i<jsonData.length;i++){
			if($("body").attr("data-id")==jsonData[i].userID){
				appendHistory(jsonData[i].title,jsonData[i].path,jsonData[i].date,jsonData[i].id);
			}
		}
	}
	
	//全局ajax设置
	$.ajaxSetup({
		statusCode: {
			401: function () {
				layer.alert("您没有权限访问此资源！");
			},
			402: function () {
				layer.alert("登录超时，请重新登录！",function () {
					location.replace("/oa/login");
				});
			},
			500:function(){
				layer.alert("系统异常", function () {
					window.location.reload();
				});
			}
		}
	});
	
	// 图表的最大化和最小化
	$(".content-second-row").on(
			"click",
			".btn-min",
			function() {
				var father = $(this).parent().parent().next();
				if (father.hasClass("show")) {
					father.slideDown();
					father.removeClass("show");
					$("<i class='iconfont icon-minimize'></i>").replaceAll(
							$(this).children());
				} else {
					father.slideUp();
					father.addClass("show");
					$("<i class='iconfont icon-quanpingzuidahua'></i>")
							.replaceAll($(this).children());
				}
			})

	$(".content-second-row").on("click", ".btn-show", function(e) {
		var show = $(this).next();
		if (show.css('display') == 'none') {
			show.css("display", "block");
		} else {
			show.css("display", "none");
		}
		$(document).one("click", function() {
			$(".left-icon-menu").hide();
		});
		e.stopPropagation();
	});

	$(".content-second-row").on("click", ".btn-close", function() {
		$(this).parent().parent().parent().slideUp();
	})

	$(".left-icon-menu").on("click", function(e) {
		e.stopPropagation();
	})
	$('.content-second-row').portal({
		border : false,
		fit : true
	});
	var a = $("<div class='right-icon'></div>");
	var b1 = $("<div style='display: inline-block;'></div>");
	var b2 = $("<button class='btn-show'><i class='iconfont icon-gengduoa'></i></button>");
	var b3 = $("<ul class='left-icon-menu'><li><a class='hello'>hello</a></li><li><a class='hello'>hello</a></li></ul>");
	var c = $("<button class='btn-min'><i class='iconfont icon-minimize'></i></button>");
	var d = $("<button class='btn-close'><i class='iconfont icon-guanbi'></i></button>");
	b1.append(b2);
	b1.append(b3);
	a.append(b1);
	a.append(c);
	a.append(d);
	$(".content-second-row .panel-header").append(a);
	/* $(".content-second-row .panel-header").append($(".box-header").html()); */
	$(".content-second-row").on("click", '.calendar-day', function() {
		//console.log($(this).attr("abbr"));
	})
	var s=$(".content-second-row .calendar-day");
	s.each(function(){			
		if($(this).attr("abbr")=="2017,8,29"){
			$(this).append("<a href='#'><i class='iconfont icon-hongqi'></i></a>");		
		}
	})


	//用户信息悬浮
	$(".top-userinfo").click(function(){
		$(".user-info").slideToggle();
	});
	
	//历史记录悬浮
	$(".top-history").click(function(){
		$(".history-record").fadeToggle(300);
	});
	
	//点击页面其他地方收回
	$("body").click(function(e){
		if(e.target.className!="user-info" && $(e.target).parents(".user-info").length==0 && !$(e.target).hasClass("top-userinfo") && !$(e.target).parent().hasClass("top-userinfo")){
			$(".user-info").slideUp();
		}
		if(e.target.className!="history-record" && !$(e.target).hasClass("icon-close1") && !$(e.target).hasClass("top-history") && !$(e.target).parent().hasClass("top-history")){
			$(".history-record").fadeOut(300);
		}
	});
	
	//点击mini菜单收缩
	$(".mini-toggle").click(function(){
		
		$(".mini-logo").toggle();
		$(".main-logo").toggle();
		if($(".mini-logo").is(":hidden")){
			
			//更改用户头像大小
			$(".main-userinfo .user-head").css({
				"width":"45px",
				"height":"45px"
			});		
			
			//公司商标变化
			$(".main-logo").animate({"width":"230px"},300);
			$(".mini-logo").animate({"width":"230px"},300);
			//菜单栏变化
			$(".main-left").animate({"width":"230px"},300,function(){
				$(".main-userinfo .info").show();
				$(".main-userinfo .menu-search").show();
				$(".father-menu span").show();
				$(".father-menu .fixicon").show();
				$(".selected-menu .son-menu").show();
				$(".layout-panel-center").animate({"left":"230px"},300);
				//重新初始化拖拽
				$('.content-second-row').portal({
					border:false,
					fit:true
				});
				
			}); 
			$("body").layout("panel","west").panel('resize',{width:230});
			$("body").layout("panel","center").panel('resize',{width:window.innerWidth-230});
		}else{
			//更改用户头像大小
			$(".main-userinfo .user-head").css({
				"width":"30px",
				"height":"30px"
			});
			$(".main-userinfo .info").hide();
			$(".main-userinfo .menu-search").hide();
			$(".father-menu span").hide();
			$(".father-menu .fixicon").hide();
			$(".son-menu").hide();
			
			//公司商标变化
			$(".main-logo").animate({"width":"50px"},300);
			$(".mini-logo").animate({"width":"50px"},300);
			//菜单栏变化
			$(".main-left").animate({"width":"50px"},300,function(){
				$("body").layout("panel","west").panel('resize',{width:50});
				$("body").layout("panel","center").panel('resize',{width:window.innerWidth-50});
				$(".layout-panel-center").animate({"left":"50px"},300);
				//重新初始化拖拽
				$('.content-second-row').portal({
					border:false,
					fit:true
				});				
			});
		}
		$(".father-menu > a").toggleClass("off");
		
	});
	
	//点击加载到中间模块
	$("body").on("click","a",function(e){
		//if($(this).attr("href")!='/oa/main'){
			
			e.preventDefault();
			
			var targetHref=this.href;
			//获取文字
			var text="";
			if($(e.target).parents("#main-menu").length>0 ||$(e.target).parent().hasClass("user-use")){
				text=e.target.innerText;
			}else{
				/*if($(e.target).parent().hasClass("main-top-icon")){
					text=$(e.target).parent().attr("title");
				}else{
				}*/
				if($(e.target).attr("title")){
					text=$(e.target).attr("title");
				}else{
					text=$(e.target).parents("a").attr("title");
				}
			}
			if(targetHref && targetHref!='javascript:void(0)' && targetHref!='javascript:;'){
				refreshPanel(targetHref,text);
				
				//将地址添加到历史记录中
				//history.pushState({html:targetPanel.html(),url:targetHref},"main-center",targetHref);
				//回退或前进页面到指定模块
				/*window.addEventListener('popstate', function() {
					var state = history.state;
					var targetPanel=$("body").layout("panel","center");
					targetPanel.panel({
						href:state.url,
						onLoad:function(){
							targetPanel.html(state.html);
						}
					});
				});*/
			}
		//}
		
	});
	
	//菜单的点击事件
	$(".zjy-menu").on("click",".father-menu > a",function(){
		var target=$(this);
		if(!target.hasClass("off")){
			//找到相对应子菜单并展开
			target.parent().toggleClass("selected-menu");
			target.siblings(".son-menu").slideToggle();
			//获取当前元素所有同辈元素并关闭他们
			target.parent().siblings().removeClass("selected-menu").find(".son-menu").slideUp();
			//更改箭头
			$(".father-menu").each(function(){
				if($(this).hasClass("selected-menu")){
					$(this).find(".fixicon").removeClass("icon-return").addClass("icon-unfold");
				}else{
					$(this).find(".fixicon").removeClass("icon-unfold").addClass("icon-return");
				}
			});
		}
		
	});
	//子菜单点击事件
	$(".zjy-menu").on("click",".son-menu a",function(){
		if($(this).parents().hasClass("selected-menu")){
			$(this).css("color","#fff");
			$(this).parent().siblings().find("a").css("color","#b8c7ce");
		}
	});
	
	/**
	 * 鼠标移到表格内操作按钮的事件
	 */
	$(".main-center").on("mouseover",".tab-content .btn",function(){
		$(this).find("span").show();
	});
	$(".main-center").on("mouseout",".tab-content .btn",function(){
		$(this).find("span").hide();
	});
	
	
	//打卡
	//时间
	var as1=new Date();
	var h1=as1.getHours();
	var m1=as1.getMinutes();
	$('.content-row-one-time .time').text(h1+":"+m1);
	var si = setInterval(function() {
		var as=new Date();
		var h=as.getHours();
		var m=as.getMinutes();
		$('.content-row-one-time .time').text(h+":"+m);
	},1000)
	$('.content-row-one-timeicon').on('click','.type',function(){
		var status=0;
		var type=$('.content-row-one-timeicon .type').text();
		if(type=='签到') {
			var guitime=new Date(getMonthEnd()+" "+$('.content-row-one-time .go').text());
			var shijitime=new Date();
			if (shijitime>guitime) {
				status=1;
			}
		}else {
			var guitime=new Date(getMonthEnd()+" "+$('.content-row-one-time .out').text());
			var shijitime=new Date();
			if (shijitime<guitime) {
				status=2;
			}
		}
		var id=$(this).attr('data-outid');
		//获取本地ip
		var url = 'http://chaxun.1616.net/s.php?type=ip&output=json&callback=?&_=' + Math.random();
		$.getJSON(url, function (data) {
			var ip=data.Ip;//弹出本地ip
			$.post('/work/attend/save',{
				type:type,
				ip:ip,
				status:status,
				remark:'无申诉',
				id:id
			},function(data){
				console.log(data);
				if (data!=null) {
					$('.content-row-one-timeicon .type').text("签退");
					if (data.type=="签退") {
						$('.content-row-one-timeicon .type').attr('data-outid',data.id);
					}
					layer.msg("打卡成功！", {
						time : 1000
					});
				}
			})
	    });
	})
	
});	

/**
 * 刷新按钮
 */
function refresh(e){
	if($(e).parent().next().has("form").length>0){
		layer.confirm('刷新后表单记录将重置，确认刷新？',{closeBtn: 0},function(index){
			var targetPanel=$("body").layout("panel","center");
			targetPanel.panel("refresh");
			layer.close(index);
		});
		return;
	}
	var targetPanel=$("body").layout("panel","center");
	targetPanel.panel("refresh");
}

/**
 * 返回按钮
 * @param e
 * @returns
 */
function back(e){
	//history.back();
	if($(e).parent().next().has("input[type=text]").length>0){
		layer.confirm('返回后表单记录将重置，确认返回？',{closeBtn: 0},function(index){
			backPath();
			layer.close(index);
		});
		return;
	}
	backPath();
	
}
/*返回路径*/
function backPath(){
	var jsonData=JSON.parse(localStorage.getItem('history'));
	if(jsonData && jsonData!=""){
		var targetLi=$(".history-record ul .currentPage").next();
		
		var targetPanel=$("body").layout("panel","center");
		targetPanel.panel({
			href:targetLi.children("a").attr("href"),
			onLoad:function(){
				$(this).find(".content-header h1").text(targetLi.children("a").attr("title"));
				$(this).find(".navigation span:last").text(targetLi.children("a").attr("title"));
				//添加历史记录
				addHistory(targetLi.children("a").attr("title"),targetLi.children("a").attr("href"));
				targetLi.addClass("currentPage").siblings().removeClass("currentPage");
			}
		});
		//refreshPanel(targetLi.children("a").attr("href"),targetLi.children("a").attr("title"))
	}else{
		layer.alert("没有历史记录");
	}
}

/**
 * 注销登录
 * @returns
 */
function logout(){
	layer.confirm('确认退出登录？',{closeBtn: 0},function(index){
		window.location.href="/oa/logout";
		layer.close(index);
	});
}

/**
 * 添加历史记录
 * @returns
 */
function addHistory(text,targetHref){
	var date=formatDate(new Date());
	var historyJson=[];
	var jsonData=JSON.parse(localStorage.getItem('history'));
	var flag=true;
	if(jsonData && jsonData!=""){
		var length=jsonData.length;
		for(var i=0;i<length;i++){
			if(jsonData[length-1].path==targetHref){//判断是不是重复点链接
				if(i!=length-1){
					historyJson.push(jsonData[i]);
				}
				flag=false;
			}else{
				historyJson.push(jsonData[i]);
			}
		}
	}
	var id=historyJson.length;
	historyJson.push({'id':id,'title':text,'path':targetHref,'date':date,userID:$("body").attr("data-id")});
	localStorage.setItem("history",JSON.stringify(historyJson));
	if(!flag){
		$(".history-record li span a").each(function(){
			if($(this).attr("data-id")==id){
				$(this).parent().parent().remove();
			}
		});
	}
	appendHistory(text,targetHref,date,id);
}

/**
 * 追加历史记录到html
 * @param text
 * @param targetHref
 * @param date
 * @returns
 */
function appendHistory(text,targetHref,date,id){
	if($(".history-record .none").length>0){
		$(".history-record ul").html("");
	}
	//$(".history-record ul li").removeClass("currentPage");
	var a=$("<a>").text(text).attr("href",targetHref).attr("title",text);
	var path=$("<span>").text(targetHref).addClass("path");
	var span=$("<span>").text(date).addClass("time").append($("<a onclick='deleteOneHistory(this)' title='删除该条记录' class='iconfont icon-close1'>").css({
		"margin-left":"5px",
		"display":"inline",
		"color": "#fdfdfd"
	}).attr("data-id",id));
	var li=$("<li>").addClass("currentPage").append(a).append(path).append(span);
	$(".history-record ul").prepend(li);
}

/**
 * 追加历史记录为空的html
 */
function appendNone(){
	$(".history-record ul").html("");
	var a=$("<a>").text("历史记录为空~");
	var li=$("<li>").addClass("none").append(a)
	$(".history-record ul").prepend(li);
}

/**
 * 删除单条历史记录
 * @param e
 * @returns
 */
function deleteOneHistory(e){
	var historyJson=[];
	var jsonData=JSON.parse(localStorage.getItem('history'));
	if(jsonData){
		for(var i=0;i<jsonData.length;i++){
			if(jsonData[i].id!=$(e).attr("data-id")){
				historyJson.push(jsonData[i]);
			}
		}
	}
	localStorage.setItem("history",JSON.stringify(historyJson));
	//判断是否删完
	if($(e).parent().parent().siblings().length==0){
		appendNone();
	}
	$(e).parent().parent().remove();
}

/**
 * 自动清空今天之前的数据
 * @returns
 */
function autoClearHistory(){
	var historyJson=[];
	var jsonData=JSON.parse(localStorage.getItem('history'));
	if(jsonData && jsonData!=""){
		for(var i=0;i<jsonData.length;i++){
			if(jsonData[i].date.split(" ")[0]==formatDate(new Date()).split(" ")[0]){
				historyJson.push(jsonData[i]);
			}
		}
		localStorage.setItem("history",JSON.stringify(historyJson));
	}
}

/**
 * 清空历史记录
 */
function clearHistory(){
	layer.confirm('确认清空历史记录？',{closeBtn: 0},function(index){
		localStorage.removeItem("history");
		appendNone();
		
		layer.alert("清除成功！");
		
		layer.close(index);
	});
}


/**
 * 查看密码
 * @param e
 * @returns
 */
function changeEye(e){
	$(e).parent().toggle();
	$(e).parent().siblings(".pwd").toggle();
}

/**
 * 复制密码
 * @param e
 * @returns
 */
function copyPwd(e){
	$(e).parent().siblings(".pwd").find("input").val($(e).val());
}

/**
 * 删除单条记录
 * @param id
 * @returns
 */
function deleteOne(id,url){
	layer.confirm('删除后不可恢复，确认删除？',{closeBtn: 0},function(index){
		$.get(url,{
			id,id
		},function(){
			layer.msg('删除成功',{shift: -1,time:1000}, function(){
				refresh(null);
			});
		});
		layer.close(index);
	});
}


/**
 * 分页跳转
 * url:路径
 * sort:排序
 * page:跳转页
 * @returns
 */
function pageGo(url,sort,page){
	var title=$(".content-header h1").text();
	refreshPanel(getUrlPrefix(url+"&page="+page+"&sort="+sort),title);
}

/**
 * 排序跳转
 * @param url
 * @param sort
 * @returns
 */
function pageSort(url,sort){
	var title=$(".content-header h1").text();
	refreshPanel(getUrlPrefix(url+"&sort="+sort),title);
}

/**
 * 刷新页面到中间面板
 * @returns
 */
function refreshPanel(path,title){
	if(!title){
		title="无标题";
	}
	var targetPanel=$("body").layout("panel","center");
	targetPanel.panel({
		href:path,
		onLoad:function(){
			$(this).find(".content-header h1").text(title);
			$(this).find(".navigation span:last").text(title);
			//添加到历史记录
			$(".history-record ul li").removeClass("currentPage");
			addHistory(title,path);
			if($("#tagUser").length>0){
				var arr=new Array();
				$(".userId").each(function(){
		    		arr.push($(this).val());
		    	});
				$("#tagUser").tagbox({
				    url:'/user/getusers',
				    hasDownArrow: true,
				    prompt: '选择通知人，可多个',
				    valueField: 'id',
				    textField: 'realName'
				});
				$('#tagUser').tagbox('setValues', arr);
				if($("select[name=type]").val()==0){
					$("#tagUser").tagbox("disable");
				}
			}
		}
	});
}

/**
 * 获取完整路径
 * @param url
 * @returns
 */
function getUrlPrefix(url){
	return window.location.protocol+"//"+window.location.host+url;
}

/**
 * 格式化日期
 * yyyy-MM-dd HH:mm:ss
 * @param strTime
 * @returns
 */
function formatDate (date) {
    return date.getFullYear()+"年"+appendZero((date.getMonth()+1))+"月"+appendZero(date.getDate())+"日 "+appendZero(date.getHours())+":"+appendZero(date.getMinutes())+":"+appendZero(date.getSeconds());
}

/**
 * 有效数字为2位
 */
function appendZero(obj) {
	if (obj < 10)
		return "0" + obj;
	else
		return obj;
}

/**
 * 更新未读消息数量
 * @returns
 */
function refreshNotice(){
	$.get("/announce/noread/count",function(data){
		var num=$("#notice-count").attr("data-count");
		$("#notice-count").attr("data-count",data).text(data).show();
		console.log("=============="+data);
		if(data==0){
			$("#notice-count").hide();
		};
	});
}
//获取当前时间
function getMonthEnd(n) {
	if (n==null) {
		var now = new Date();
	}else {
		var now = new Date(n);
	}
	var year = now.getFullYear();
	var month = now.getMonth() + 1;
	var date = now.getDate();
	s = year + "-" + appendZero(month) + "-" + appendZero(date);
	return s;
}


/**
 * 菜单栏的加载
 */
/*$.fn.menuPlugin=function(options){
	$(this).addClass("zjy-menu");
	
	var defaults={
		"color":"#b8c7ce",
		"fontSize":"14px"
	}
	
	//获取json数据
	$.getJSON("/oa/menu/data",function(data){
		$.each(data,function(i,item){
			var menuIcon=$("<i>").addClass("iconfont").addClass(item.icon);
			var menuSpan=$("<span>").text(item.name);
			var menuArrow=$("<i>").addClass("fixicon iconfont icon-return");
			var menuA=$("<a>").append(menuIcon).append(menuSpan).append(menuArrow);
			
			var menuUl=$("<ul>").addClass("son-menu");
			//装载子菜单
			$.each(item.children,function(i,item){
				var menuSonIcon=$("<i>").addClass("iconfont").addClass(item.icon);
				var menuSonSpan=$("<span>").text(item.name);
				var menuSonA=$("<a>").attr("href",item.href).append(menuSonIcon).append(menuSonSpan);
				var menuSonMenu=$("<li>").append(menuSonA);
				menuUl.append(menuSonMenu);
			});
			var menuMenu=$("<li>").addClass("father-menu").append(menuA).append(menuUl);
			$(".zjy-menu").append(menuMenu);
		});
	});
	
	//菜单的点击事件
	$(".zjy-menu").on("click",".father-menu > a",function(){
		var target=$(this);
		if(!target.hasClass("off")){
			//找到相对应子菜单并展开
			target.parent().toggleClass("selected-menu");
			target.siblings(".son-menu").slideToggle();
			//获取当前元素所有同辈元素并关闭他们
			target.parent().siblings().removeClass("selected-menu").find(".son-menu").slideUp();
			//更改箭头
			$(".father-menu").each(function(){
				if($(this).hasClass("selected-menu")){
					$(this).find(".fixicon").removeClass("icon-return").addClass("icon-unfold");
				}else{
					$(this).find(".fixicon").removeClass("icon-unfold").addClass("icon-return");
				}
			});
		}
		
	});
	//子菜单点击事件
	$(".zjy-menu").on("click",".son-menu a",function(){
		if($(this).parents().hasClass("selected-menu")){
			$(this).css("color","#fff");
			$(this).parent().siblings().find("a").css("color","#b8c7ce");
		}
	});
	
	*//**
	 * 使用下面这种会使用户更改的值覆盖默认值
	 * var settings=$.extend(defaults, options);
	 * 若不想默认值被覆盖就用下面这种
	 *//*
	var settings=$.extend({}, defaults, options);
	
	return this.css({
		"color":settings.color,
		"fontSize":settings.fontSize
	});
};*/

